1. Field of the Invention
This invention relates generally to extracting diagnostic information from a hard drive and, more specifically to a method of providing a device unique diagnostic support with a single generic command.
2. Description of Background
Peripheral devices such as disk drives are controlled by firmware, which resides within the device itself. This firmware controls the behavior of the device and can be modified if new behaviors are needed or bugs are found in the current version of firmware.
These devices are typically designed to maintain a log within the device that collects and records a number of operational, performance and health parameters and the paths taken through their firmware so that, if problems occur, there is a record log to inspect in order to trouble shoot the problem. This diagnostic information is recorded onto the device itself usually in non-volatile storage. Some of the information that may be collected from the device may conform to standards; however, much of the information needed from the device for debugging is unique to the manufacturer or vendor of the device. Furthermore, the detailed command sequences needed to be issued to collect this vendor unique information is also unique to the vendor. Thus, when a device is returned to a vendor, that specific vendor can use their own tools to extract this information to debug the problem.
If the hard drive is installed in an end user system, extracting this same information becomes much more difficult. The customer may have to physically remove the device and ship it to the vendor or manufacture of the device. Otherwise, the vendor may need to attach their own tools to the end user system or they may need special diagnostic tools developed for that specific customer environment to gain access to this data. Neither of these solutions is very practical or perhaps even possible in many high performance server environments.
Therefore, the problem becomes how to provide a generic method to extract vendor unique diagnostic information from a peripheral device without having to physically remove the device from the system or attach special tooling to the customer system.